home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d8 / vmix225.arc / VMIX.DOC < prev    next >
Text File  |  1990-05-21  |  54KB  |  1,016 lines

  1.                                                   _______
  2.                                              ____|__     |               (tm)
  3.                                           --|       |    |-------------------
  4.                                             |   ____|__  |  Association of
  5.                tm                           |  |       |_|  Shareware
  6.        VMiX 386   Version 2.25              |__|   o   |    Professionals
  7.        -----------------------            -----|   |   |---------------------
  8.                                                |___|___|    MEMBER
  9.  
  10.    Copyright (c) 1986, 1987, 1988, 1989
  11.  
  12.      Commercial Software Associates
  13.           Post Office Box  185
  14.     Corona del Mar, California  92625
  15.  
  16.    BBS     (714)  721-1228 (24 Hrs.)
  17.    VOICE   (714)  721-9953 (8 - 6pm PDT)
  18.       _______________________________________________________________
  19.      |                                                               |
  20.      | WHAT IS VMiX?                                                 |
  21.      |                                                               |
  22.      |      VMiX is a multitasking and multiuser environment for     |
  23.      |      IBM PC's and PS/2's (PC, XT, AT, PS/2) compatibles.      |
  24.      |                                                               |
  25.      |      Version 2.25 configures itself to your processor. If you |
  26.      |      have an 8088 or 8086, then your applications must share  |
  27.      |      the 470 Kbytes available after VMiX loads in low memory. |
  28.      |      If you have an 80286, then VMiX can multitask applica-   |
  29.      |      tions that use expanded memory or can swap applications  |
  30.      |      to extended memory.  Swapped tasks will be swapped back  |
  31.      |      regularly for a timeslice of the processing or they can  |
  32.      |      remain suspended until reactivated.                      |
  33.      |                                                               |
  34.      |      If you have an 80386, VMiX will multitask in extended    |
  35.      |      memory.  It will execute each task in virtual 8086 mode, |
  36.      |      with protected mode pagging, mapping a new 640 Kbytes to |
  37.      |      each new task.                                           |
  38.      |                                                               |
  39.      |      Multitasking is supported at the console, in windows or  |
  40.      |      full screen.  If you do not like windows at your console |
  41.      |      you can choose to use terminals or PC's attached to the  |
  42.      |      COMM ports.                                              |
  43.      |                                                               |
  44.      |      The VMiX environment uses the best from MSDOS and UNIX   |
  45.      |      in its implementation of the user control shell and      |
  46.      |      multitasking.  The user has a choice of 2 user interfa-  |
  47.      |      ces:  the VMiX shell, which can talk to the MSDOS shell  |
  48.      |      (you get both sets of commands), or the VMiX pull-down   |
  49.      |      menus interface.                                         |
  50.      |                                                               |
  51.      |      Applications that do not write directly to the video,    |
  52.      |      like DBASE, TURBO PASCAL, PROCOMM, WSTAR, WORDPERFECT,   |
  53.      |      OPUS BBS, or BASIC will display correctly at a terminal. |
  54.      |                                                               |
  55.      |      VMiX co-resides with DOS 2.1 through 4.01                |
  56.      |_______________________________________________________________|
  57.  
  58.       _______________________________________________________________
  59.      |                                                               |
  60.      | HOW TO INSTALL VMiX?                                          |
  61.      |                                                               |
  62.      |     VMiX is easy to install.  Simply copy the executable      |
  63.      |     files in the VMiX archive to your directory and execute   |
  64.      |     the boot module VM_BOOT.EXE                               |
  65.      |                                                               |
  66.      |     There are 3 start-up options, if VMiX fails to start      |
  67.      |     correctly on your computer.  VM_BOOT -r will force 8086   |
  68.      |     VMiX mode on 80286 or 80386 computers, and VM_BOOT -x     |
  69.      |     will force 80286 VMiX mode on 80386 computers.  Using     |
  70.      |     VM_BOOT -l  or VM_BOOT -lx will inhibit relocation of     |
  71.      |     portions of VMiX to extended memory.  Use of these 3      |
  72.      |     options might allow VMiX to execute in your environment.  |
  73.      |                                                               |
  74.      |     Later you will learn how to customize your VMiX start-up  |
  75.      |     by including command arguments in the VM_BOOT command     |
  76.      |     line from DOS.                                            |
  77.      |_______________________________________________________________|
  78.  
  79.       _______________________________________________________________
  80.      |                                                               |
  81.      | HOW TO INSTALL MY APPLICATIONS?                               |
  82.      |                                                               |
  83.      |     If you can execute your applications from DOS, they       |
  84.      |     are already installed for VMiX.  VMiX does not use PIF    |
  85.      |     or other types of application configuration files.        |
  86.      |                                                               |
  87.      |     Applications that write directly to the screen can        |
  88.      |     coexist with other applications at the console, but       |
  89.      |     will not display properly at a COMM port terminal or PC.  |
  90.      |_______________________________________________________________|
  91.  
  92.       _______________________________________________________________
  93.      |                                                               |
  94.      | HOW MUCH MEMORY WILL REMAIN AFTER VMiX IS INSTALLED?          |
  95.      |                                                               |
  96.      |     On a 640Kb memory 8088 PC or 80286 AT with DOS 3.1 and    |
  97.      |     no installed TSR's, there will remain about 470Kb of      |
  98.      |     memory for applications.  On the 80386, each task gets    |
  99.      |     it's own 640Kb from your extended memory pool.            |
  100.      |_______________________________________________________________|
  101.  
  102.       _______________________________________________________________
  103.      |                                                               |
  104.      | HOW DO I VALIDATE THAT VMIX IS WORKING CORRECTLY ON MY        |
  105.      | SYSTEM?                                                       |
  106.      |                                                               |
  107.      |     To test VMiX, we recommend that you perform the two       |
  108.      |     tests below:                                              |
  109.      |                                                               |
  110.      |     TEST 1: Validates that VMiX itself is working correctly.  |
  111.      |                                                               |
  112.      |     invoke VMiX as follows:   (from the directory where you   |
  113.      |                                copied VM_BOOT.EXE          )  |
  114.      |                                                               |
  115.      | vm_boot do /debug set                                         |
  116.      |                                                               |
  117.      |             and PRESS <ENTER>                                 |
  118.      |             This will start 2 tasks:                          |
  119.      |                                      the root shell or main   |
  120.      |                                      window, where the key-   |
  121.      |                                      board will remain unless |
  122.      |                                      you press <SHIFT><TAB>,  |
  123.      |                                                               |
  124.      |                                      a VMiX debugger task     |
  125.      |                                      displaying information   |
  126.      |                                      about the 'set' command. |
  127.      |             If all windows display activity, the TEST PASSED. |
  128.      |             From the root window type 'quit' and press <ENTER>|
  129.      |             to exit VMiX.                                     |
  130.      |                                                               |
  131.      |                                                               |
  132.      |     TEST 2: Validates that VMiX, your version of MSDOS, and   |
  133.      |             your system's ROM BIOS, all get along fine.       |
  134.      |                                                               |
  135.      |     invoke VMiX as follows:   (from the directory where you   |
  136.      |                                copied VM_BOOT.EXE          )  |
  137.      |                                                               |
  138.      | vm_boot do dir c: /type c:\autoexec.bat                       |
  139.      |                                                               |
  140.      |             and PRESS <ENTER>                                 |
  141.      |             This will start 2 tasks:                          |
  142.      |                                      the root shell or main   |
  143.      |                                      window, displaying your  |
  144.      |                                      autoexec.bat file, where |
  145.      |                                      the keyboard will remain,|
  146.      |                                                               |
  147.      |                                      and another task doing a |
  148.      |                                      directory.               |
  149.      |             If all windows display activity, the TEST PASSED. |
  150.      |             From the root window type 'quit' and press <ENTER>|
  151.      |             to exit VMiX.                                     |
  152.      |_______________________________________________________________|
  153.  
  154.       _______________________________________________________________
  155.      |                                                               |
  156.      | WHAT IS UNIQUE ABOUT VMiX?                                    |
  157.      |                                                               |
  158.      |     VMiX is supported shareware.  In the rapidly developing   |
  159.      |     multitasking market, VMiX has undergone over 15 new       |
  160.      |     releases in the last 3 years, each with new and enhanced  |
  161.      |     features.                                                 |
  162.      |                                                               |
  163.      |     VMiX provides an easy to install and operate environment  |
  164.      |     that can be used to multitask DOS.  It can also be used   |
  165.      |     to simply task switch applications to extended memory on  |
  166.      |     an 80286/386 PC.                                          |
  167.      |                                                               |
  168.      |     VMiX also provides remote access to your multitasking PC  |
  169.      |     server.                                                   |
  170.      |                                                               |
  171.      |     VMiX gives you more than a multitasker, it gives you an   |
  172.      |     operating system which gently introduces you to the new   |
  173.      |     complexities of advanced systems.                         |
  174.      |                                                               |
  175.      |     If you can execute your applications from DOS, they are   |
  176.      |     already installed for VMiX.  VMiX does not use PIF or     |
  177.      |     other types of application configuration files.           |
  178.      |                                                               |
  179.      |     The VMiX command interface is layered, to protect the     |
  180.      |     casual user who just wants to get maximum utility and     |
  181.      |     does not need or wants to learn the full system.          |
  182.      |     For the serious operator or software developer, VMiX      |
  183.      |     provides an internal 'debug' shell which can be coupled   |
  184.      |     with a DOS debugger or tool, as a concurrently executing  |
  185.      |     VMiX task, to examine other live applications, DOS, or    |
  186.      |     VMiX itself.                                              |
  187.      |_______________________________________________________________|
  188.  
  189.       _______________________________________________________________
  190.      |                                                               |
  191.      | SAMPLE STARTUP                                                |
  192.      |   -----   if your printer, mouse, or modem is on COM1,        |
  193.      |           then COM2 is available for user logins:             |
  194.      |           (NOTE the lower case 'L', below)                    |
  195.      |                                                               |
  196.      |           C> vm_boot set remote -l2                           |
  197.      |                                                               |
  198.      |                                                               |
  199.      |   -----   if your printer, mouse, or modem is on COM2,        |
  200.      |           then COM1 (VMiX default) is available for logins:   |
  201.      |                                                               |
  202.      |           C> vm_boot                                          |
  203.      |                                                               |
  204.      |                                                               |
  205.      |   -----   if you are using both COM1 and COM2,                |
  206.      |           then set VMiX to COM3 to avoid interferance:        |
  207.      |           (NOTE the lower case 'L', below)                    |
  208.      |                                                               |
  209.      |           C> vm_boot set remote -l3                           |
  210.      |                                                               |
  211.      |                                                               |
  212.      |   -----   if you want to start with the VMiX pull-down        |
  213.      |           menus:                                              |
  214.      |                                                               |
  215.      |           C> vm_boot vw                                       |
  216.      |_______________________________________________________________|
  217.  
  218.       _______________________________________________________________
  219.      |                                                               |
  220.      | QUICK START TO VMiX MULTITASKING                              |
  221.      |                                                               |
  222.      |     The VMiX manual is big and spread out, but the last       |
  223.      |     2 chapters describe each VMiX command in detail.          |
  224.      |                                                               |
  225.      |     Basically these are the commands that you must master     |
  226.      |     FIRST, to start using the multitasking features right-    |
  227.      |     away.                                                     |
  228.      |                                                               |
  229.      |                                                               |
  230.      |     ?             Pressing '?' will display a list of avail-  |
  231.      |                   able VMiX commands.  Typing a VMiX command  |
  232.      |                   that requires additional parameters, will   |
  233.      |                   display usage information.                  |
  234.      |                                                               |
  235.      |                                                               |
  236.      |     exec          This command allows you to partition the    |
  237.      |                   use of your PC's memory between tasks.      |
  238.      |                   By default, VMiX partitions each new MSDOS  |
  239.      |                   task into 224Kb chunks of available memory, |
  240.      |                   on 8088 and 80286 processors.  On the 80386 |
  241.      |                   the default partition size is 512Kb.        |
  242.      |                                                               |
  243.      |                   To override the defaults, you might type:   |
  244.      |                               exec -m128                      |
  245.      |                                                               |
  246.      |                   this sets the partition size to 128Kb.      |
  247.      |                   Any new program, after that, will only see  |
  248.      |                   a maximum of 128Kb available, until the next|
  249.      |                   'exec -m' reduces or expands the current    |
  250.      |                   limit.                                      |
  251.      |                                                               |
  252.      |                   In 80386 processors, selecting a partition  |
  253.      |                   size smaller than the 512Kb default, will   |
  254.      |                   cause new tasks to use the parent's memory  |
  255.      |                   partition and will not be mapped to their   |
  256.      |                   own 640Kb, from the extended memory pool.   |
  257.      |                                                               |
  258.      |                                                               |
  259.      |     do            This command allows you to specify a new    |
  260.      |                   MSDOS task. 'do' is short for 'dosjob'.     |
  261.      |                   To execute BASIC in a window, you would     |
  262.      |                   type:                                       |
  263.      |                             do c:\basic                       |
  264.      |                                                               |
  265.      |                   To execute BASIC and give it the full       |
  266.      |                   screen, you would type:                     |
  267.      |                             do -W c:\basic                    |
  268.      |                                                               |
  269.      |                   'do' is the basic VMiX command to start a   |
  270.      |                   new and separate process.                   |
  271.      |                                                               |
  272.      |     Shift TAB     Once you have started several windows, you  |
  273.      |                   will need to move the keyboard between them,|
  274.      |                   so that input to each task can be safely    |
  275.      |                   directed to only that task.  You move the   |
  276.      |                   keyboard, in round-robin fasion by pressing |
  277.      |                   the Shift and Tab keys simultaneously.      |
  278.      |                   Shift Tab will also clear any defunct       |
  279.      |                   windows left around, when there remains     |
  280.      |                   only one shell active.                      |
  281.      |                                                               |
  282.      |     do /rshell    To clone the VMiX command shell into a 2nd  |
  283.      |                   shell, you type:                            |
  284.      |                             do /rshell                        |
  285.      |                                                               |
  286.      |                   The / tells VMiX this is not a command for  |
  287.      |                   MSDOS but for VMiX.  VMiX will ask you for  |
  288.      |                   a login name, type:                         |
  289.      |                             su                                |
  290.      |                                                               |
  291.      |                   This is a reserved name for a VMiX operator |
  292.      |                   with 'kill' process priviledges.            |
  293.      |                                                               |
  294.      |     do .          To clone an MSDOS command shell as the 2nd  |
  295.      |                   window, you type:                           |
  296.      |                             do .                              |
  297.      |                                                               |
  298.      |                   To close the window, type from MSDOS:       |
  299.      |                             exit                              |
  300.      |                                                               |
  301.      |                   NOTE THAT THE VMiX SHELL PROMPT DIFFERS     |
  302.      |                   FROM THE MSDOS SHELL PROMPT IN THE SINGLE   |
  303.      |                   SPACE THAT FOLLOWS THE PROMPT.              |
  304.      |                   From the VMiX Shell                         |
  305.      |                   a directory request would look like         |
  306.      |                              C> dir                           |
  307.      |                   From MSDOS it would look like               |
  308.      |                              C>dir                            |
  309.      |                                                               |
  310.      |     $$            Particularly in 386 mode, you might find    |
  311.      |                   that some programs might crash VMiX or fail |
  312.      |                   to execute correctly.  To provide system    |
  313.      |                   protection, when executing an ill-behaved   |
  314.      |                   program, precede the filename and path      |
  315.      |                   with the characters '$$':                   |
  316.      |                               $$[drive:][path]filename        |
  317.      |                   or,                                         |
  318.      |                               do $$[drive:][path]filename     |
  319.      |                                                               |
  320.      |                                                               |
  321.      |     NOW THAT YOU KNOW EVERYTHING, YOU CAN CHOOSE TO FORGET    |
  322.      |     ALL ABOUT IT AND USE, INSTEAD, THE VMiX PULL-DOWN MENUS   |
  323.      |     BY TYPING, AFTER VMiX STARTS:                             |
  324.      |                                                               |
  325.      |                   C> c:\vmix\vw                               |
  326.      |                                                               |
  327.      |                                                               |
  328.      |     REMEMBER THAT ANY COMMAND YOU CAN GIVE FROM INSIDE VMiX   |
  329.      |     CAN ALSO BE STATED IN THE VM_BOOT COMMAND LINE, EACH      |
  330.      |     COMMAND SEPARATED BY A /                                  |
  331.      |                                                               |
  332.      |     Congratulations, you are now a certified VMiX SysOp.      |
  333.      |_______________________________________________________________|
  334.  
  335.       _______________________________________________________________
  336.      |                                                               |
  337.      | WHAT IS AHEAD FOR VMiX?                                       |
  338.      |                                                               |
  339.      |            A larger 80386 partition size.                     |
  340.      |            Virtual 386 video screens to avoid bleed-thru      |
  341.      |               by applications that write directly to video.   |
  342.      |            A new serial port V.42 data link driver.           |
  343.      |            A distributed file system:                         |
  344.      |              'rshell' to allow one VMiX PC to execute as a    |
  345.      |               client of a server VMiX at another PC.          |
  346.      |               This will allow one PC to multi-task on its     |
  347.      |               screen a program executing at a second PC.      |
  348.      |_______________________________________________________________|
  349.         
  350.                                RELEASE NOTES
  351.  
  352. * See the revision.log file for enhancements and bug fixes to this version.
  353.   In Summary Version 2.25 provides:
  354.  
  355.  
  356.   1. This is the first non BETA release of VMiX.
  357.      VMiX now works on the IBM PS/2 and COMPAQ 386 SX.
  358.  
  359.   2. Added support for ESDI fixed disk systems.
  360.  
  361.   3. Made some more fixes related to DOS 4.01 multitasking.
  362.      Reduced resident memory size by 8Kbytes.
  363.      The VMiX prompt now displays the current directory.
  364.  
  365.   4. VMiX is now one of the fastest MSDOS multitaskers.  The preemptive
  366.      scheduler is now fully sensitive to I/O.  The following devices affect
  367.      the executing priority of a task: keyboard, disk drives, COMM ports.
  368.  
  369.   5. The VMiX start-up program 'VM_BOOT' has three command line switches
  370.      that control the mode the program runs.  Using VM_BOOT -r, will force
  371.      VMiX into real (8086) mode and using VM_BOOT -x, will force VMiX into
  372.      extended (80286) mode.  These 2 command line switches, disable 80386
  373.      protected mode operations.  (Useful for getting around compatibility
  374.      problems, on certain computers.)  Using VM_BOOT -l or VM_BOOT -lx
  375.      inhibits relocation of portions of VMiX to extended memory.
  376.  
  377.   6. Version 2.25 will operate with DOS 4.01.  Since DOS 4.01 can be set to
  378.      use extended memory, conflicts can arise.  VMiX must be told how much
  379.      extended memory other programs are using (see 12.d, below).
  380.     
  381.   7. The VMiX clock tick has been changed from 55msec (18.2 task switches
  382.      per second) to 11msec (90.9 task switches per second).  A new command,
  383.      'set system -c ????' will allow you to tune your multitasking environ-
  384.      ment for maximum efficiency.  The command specifies the number of clock
  385.      ticks a running task is guarranteed to be active before preemption.
  386.      (Refer also to the 'chprio' command.) 
  387.  
  388.   8. The Shift-Tab hot key will now swap screens between graphics mode
  389.      tasks and alphanumeric mode tasks.  Also, tasks using different video
  390.      pages will be switched correctly.  This affects only tasks that were
  391.      started with the 'dosjob -W' (full screen) command.  NOTE that this
  392.      version of VMiX still does not trap programs that make direct video
  393.      RAM write.  Now that the multitasker is complete we will start to
  394.      correct the video messup by ill-behaved MSDOS software.
  395.  
  396.   9. When using VMiX in 80386 mode, the memory partition size is set auto-
  397.      matically to 512Kb, at boot time.  If you use the command 'exec -m' to
  398.      set a partition size less than 512Kb, VMiX will not request extended
  399.      memory for new task partitions until you issue 'exec -m512' again.
  400.      When the partition size is less than 512Kb, VMiX uses memory from the
  401.      parent process for the new task (same as 8088 and 80286 mode).
  402.      The default partition size for all other VMiX modes remains 224Kb.
  403.  
  404.  10. The new '?' command, lists the available VMiX shell commands.
  405.      The 'set dos -m' command has been removed, since the VMiX shell is
  406.      now always transparent to DOS commands.  MSDOS commands are passed
  407.      to 'command.com' and VMiX commands are passed to VMiX.
  408.  
  409.  11. The new command 'examine status' displays information about a task,
  410.      including available memory.  Other memory status commands include
  411.      'examine mcb' and 'monitor -p'.
  412.  
  413.  12. IMPORTANT NOTICE:  We have found that the following reasons are the
  414.                         most frequent causes of VMiX 386 failure:
  415.  
  416.                       a) Cable connected to COM1 port which causes VMiX port
  417.                          test to hang.  Recommend to test VMiX with serial
  418.                          cable disconnected during vm_boot process.  Make
  419.                          a new cable as described in the VMiX manual.
  420.  
  421.                       b) The contents of your CONFIG.SYS specify a device
  422.                          driver that uses extended memory in conflict
  423.                          with VMiX. (for example, SMARTDRV.SYS, HIMEM.SYS)
  424.  
  425.                       c) Failure to reassign VMiX's default port for user
  426.                          logins, COM1, to another port number when COM1 is
  427.                          already in use (modem, mouse, etc.).  Recommend to
  428.                          start VMiX with a non-existent port for logins:
  429.                          (NOTE the lower case 'L', below) 
  430.  
  431.                               vm_boot set remote -l4       (ie., COM4) 
  432.  
  433.                       d) Using 'swap' with an extended memory cache program 
  434.                          installed, when VMiX has not been told to reserve
  435.                          in-use extended memory with the debugger shell
  436.                          command:
  437.  
  438.                                    'assign memory ????'
  439.  
  440.                          where ???? is number of bytes to reserve above
  441.                          1 Megabyte (ie., 500000 bytes will be rounded
  442.                          up to the nearest multiple of 4Kbytes).
  443.  
  444.                       e) Using an ANSI.SYS driver that does not support
  445.                          discreet window scrolling, but instead, always
  446.                          scrolls the entire screen.  Quarterdeck Office
  447.                          System supplied DVANSI.COM (for DESQview) works
  448.                          correctly with VMiX 386.
  449.  
  450.                       f) Using VMiX with DOS 4.01 on some 386 computers
  451.                          will boot OK, but multitasking will be erratic
  452.                          or lock the system.
  453.  
  454.                       g) The following vendor's 386 computers are known
  455.                          to crash (incompatible) or not crash (compatible)
  456.                          VMiX during 386 protected mode start-up:
  457.  
  458.                          Incompatible              Compatible
  459.                          ---------------           -------------------
  460.                          CompuAdd 386              AST Premium 386
  461.                          HP Vectra 386             AT&T 386
  462.                          Zenith 386                Cheetah cAT 386-20
  463.                                                    COMPAQ 386-25
  464.                                                    COMPAQ 386-SX
  465.                                                    Everex 386-16
  466.                                                    Everex Step 386-25
  467.                                                    Gateway 2000 386-20
  468.                                                    Micronics 386
  469.                                                    Monolithic 386-16
  470.                                                    Northgate 386
  471.                                                    Olivetti 386-20
  472.                                                    PS/2 70-80
  473.                                                    Tandy 5000
  474.  
  475.  
  476.          IMPORTANT               IMPORTANT                IMPORTANT
  477.          ---------               ---------                ---------
  478.  
  479.                                 N O T I C E
  480.  
  481.   The manual included in the non-registered distribution diskette is the
  482.   last ASCII version of the VMiX manual.  This manual, describes the use of
  483.   VMiX Versions 1.4X.  It should be sufficient to allow you to fully test
  484.   VMiX.  All changes to VMiX, since its introduction April 1987, are logged
  485.   in the revision.log file, including the new features in Version 2.25.
  486.   The VMiX COMMAND LOOK-UP - QUICK REFERENCE, shown below, is the current
  487.   list of all VMiX Version 2.25 commands and syntax.  VMiX provides built-
  488.   in help, as described in the 1.4X manual.
  489.  
  490.   If you decide that VMiX is the way to go,  please register, and we will
  491.   ship to you the new printed manual for version 2.XX, and the source code
  492.   to the VMiX utilities and Application Programmer's Interface to VMiX.
  493.   Additionally, you will receive the eight user version and a version
  494.   optimized for the 80386 instruction set.
  495.  
  496.   We appreciate the comments and help of all the users, who through
  497.   various BBS's helped debug VMiX. Thanks!
  498.  
  499.  
  500.  
  501.                               QUICK OVERVIEW
  502.  
  503.  
  504. * VMiX is not presently a full operating system.  It provides the services
  505.   of a multiuser operating system supervisor.  The VMiX kernel ties tightly
  506.   between the host operating system I/O services and the user applications.
  507.   The eventual goal of the VMiX kernel is to arbitrate the use of system
  508.   resources by individual tasks with either or both UNIX I/O or DOS I/O,
  509.   in an environment providing up to 16 megabytes of physical memory.
  510.  
  511. * The console screen can be automatically partitioned into up to four
  512.   windows, for a total of 4 tasks executing from the console.  The active
  513.   task controls and responds to the console keyboard.  The active task
  514.   can be switched, at any time, by pressing the hot key, Shift-Tab.
  515.  
  516. * VMiX does not need to operate in protected mode to multitask.  Hence, it
  517.   can be used in 8088 PCs.  In 80286 mode, VMiX ocassionally needs to use
  518.   protected mode for swapping.  In 80386 mode, VMiX operates in protected
  519.   mode at all times.  System services are provided in SYSGATE.ASM to execute
  520.   your own functions in protected mode.  The debugger "assign gdt" method
  521.   allows entries to the VMiX GDT.  This can also be done with the memory
  522.   manager system service.
  523.  
  524.  
  525. * REMOTE permits a user to call a remote PC running VMiX, and teleoperate,
  526.   as if he were at the console of the remote PC.  Useful for remote customer
  527.   support of application programs,  offsite login and operations.  VMiX
  528.   terminal drivers provide full CGA text mode emulation at a COMM port.
  529.  
  530. * With VMiX you can run programs like WINDOWS, LOTUS 123, XTALK, BASIC,
  531.   DBASE, or WORD at the console and BASIC, DEBUG, TURBO PASCAL, WORDSTAR 3.2,
  532.   WORDSTAR 4.0, WordPerfect 4.X, PROCOMM, or DBASE II/III at a COMM terminal.
  533.   Multiple BASIC or GWBASIC interpreter sessions are supported.
  534.  
  535. * Supports a maximum of five users (only because of COMM port limitations),
  536.   each with multiple processes up to a maximum of 8 total.
  537.  
  538. * SPAWN or '&' permits a script of VMiX shell commands to be submitted to a
  539.   background process executing the VMiX shell.  This allows for background
  540.   jobs like compiling or printing by a concurrent child process.
  541.  
  542. * DOSJOB permits keyboard interactive applications to be partitioned and
  543.   managed as concurrent video display tasks.
  544.  
  545. * Loadable character fonts, 33 line CGA display and 43 line EGA/VGA display.
  546.   Version 2.25 provides support for EGA/VGA video modes and up-to 58 line
  547.   display, with VMiX font type 1.
  548.  
  549. * As explained in the manual, there are (4) four ways to execute a .BAT,
  550.   .COM, or .EXE program:
  551.                         with 'exec' (now optional),
  552.                         with a command line trailling '&',
  553.                         with 'spawn',
  554.                      or (the easiest way) with the 'dosjob' command.
  555.  
  556.   When VMiX starts, unless you issued an 'exec -m<size in Kbytes>' at the
  557.   command line, VMiX will use memory partitions of 224Kb for (8088/80286)
  558.   programs or partitions of 512Kb in 80386 processors.
  559.  
  560.   The 'exec -m ????', memory partitioning command, is intended for use
  561.   mainly on 8086 and 80286 computers, which can not use the VMiX 386 virtual
  562.   memory manager.  This command guarantees that a second or third program
  563.   will find some memory available.  The user can select, from the shell,
  564.   the partition size for any single program.  If your system has 640Kb
  565.   memory, then the command 'exec -m192' will only let programs grab memory
  566.   to a maximum of 192Kb each.  If you need to execute DOS commands like
  567.   'exec type <filename>' or 'exec dir', then setting 'exec -m128' should
  568.   provide enough memory for about 4 DOS shells in non-80386 systems.
  569.  
  570.  
  571. * To use 'dosjob' to execute a VMiX shell command(s) in a separate console
  572.   window, precede the command with a / (ie., 'dosjob /debug' or 'dosjob
  573.   /rshell').  The / must not be used if the command is for DOS, for example
  574.   'do basica' or 'do dir'.
  575.  
  576.   To use 'dosjob' to run a program that requires access to the full screen,
  577.   use the '-W' option (ie., 'dosjob -W [drive:][path]filename').
  578.  
  579. * The VMiX scheduler can provide interrupt corruption protection to multiple
  580.   executing tasks.  This prevents, to some degree, changes effected by one
  581.   task to the system interrupt table from interferring with the interrupts
  582.   handlers expected by a second task.  To request protection for an ill-
  583.   behaved program, precede the filename and path with the characters '$$'.
  584.  
  585.   Programs using protection will execute slower.  Some programs like
  586.   BASIC/BASICA and WINDOWS, automatically receive protection without '$$'.
  587.  
  588.    The command syntax is:
  589.                            exec $$[drive:][path]filename
  590.    or,
  591.                          dosjob $$[drive:][path]filename
  592.  
  593. * VMiX can be started with the command line switches -r, -x, -l, or -lx.
  594.   These switches affect the mode that VMiX executes in and overrides internal
  595.   configuration defaults.  This option allows VMiX to be downgraded and used
  596.   with some compatibles, which can not run VMiX protected mode functions.
  597.  
  598.    The command syntax is:
  599.                            VM_BOOT [-l] [-r] [-x] [ [ command ] /... ]
  600.  
  601.    where,
  602.  
  603.      the '-r'  option forces 8088 (real mode) operation on 80286/386 cpu's.
  604.      the '-x'  option forces 80286 (real/protected mode) operation on 80386.
  605.      the '-l'  option inhibits relocation of VMiX code to extended memory.
  606.      the '-lx' option is a combination of the above.
  607.  
  608. * Console operator status line 'set video -s'
  609.  
  610. * Built-in debugger 'debug' 'monitor -r'
  611.  
  612. * Memory manager and memory mapper 'monitor -m' 'monitor -p' 'examine mcb'
  613.  
  614. * User specified windows at either the console or VT-100 COMM terminal.
  615.  
  616. * Assembly and High Level Language interface.
  617.  
  618. * Interrupt 15h VMiX System Services.
  619.  
  620.  
  621. Today VMiX is 90Kb of code and 20Kb of Kernel data.
  622. 75% Microsoft C and 25% MASM.
  623. VMiX is (C) Copyrighted 'try before you purchase software'.  This gives us
  624. wide distribution for a low cost, thus keeping your purchase price also low.
  625.  
  626. When you are ready to register your version, or require:
  627. pricing for support, the programming interface documentation, the new full
  628. printed manual, the source code, corporate pricing, or other information,
  629. please contact us.
  630.  
  631.                                   Enjoy exploring VMiX and thanks
  632.                                   for supporting its development,
  633.  
  634.                                            Tony Borras
  635.  
  636.  
  637.                                   Commercial Software Associates
  638.                                        Post Office Box  185
  639.                                 Corona del Mar, California  92625
  640.  
  641.                                 BBS     (714)  721-1228 (24 Hrs.)
  642.                                 VOICE   (714)  721-9953 (8 - 6pm PST)
  643.  
  644.  
  645.  
  646. ----------------------------------------------------------------------------
  647.  
  648. The VMiX 386 System consists of the 29 files described below.
  649. These files reside in the three self-extracting distribution archives:
  650.  
  651.    VMIX???.EXE (Shareware distribution ??? version id)
  652.    VMIX386.EXE (Registered Owners ONLY)
  653.    VMIXUTL.EXE (Registered Owners ONLY)
  654.  
  655.  
  656.                        EXECUTABLE or OBJECT FILES
  657.  
  658. - VM_BOOT.EXE -
  659. The VMiX start-up program.  To start, type VM_BOOT from DOS's  C>
  660. prompt and press <ENTER>.
  661.  
  662. - VM_BSML.EXE -
  663. A smaller version of VMiX, if your applications do not need graphics
  664. support.
  665.  
  666. - DPATH.EXE -
  667. Utility executed by user to set the directory search PATH for data files.
  668. Use DOS   'PATH ='  or 'SET PATH ='  for executable files.
  669. Use VMiX  'DPATH =' or 'SET DPATH =' for data files.
  670.  
  671. - DSTAT.EXE -
  672. Utility executed by user to view device and channel status.
  673.  
  674. - MONITOR.EXE -
  675. Debugging utility executed by user to examine memory and processes.
  676.  
  677. - OUTSIDE.EXE -
  678. Outside MSDOS shell spawning utility for BBS operators.
  679.  
  680. - PS.EXE -
  681. Utility executed by user to view process status.
  682.  
  683. - VW.EXE -
  684. Utility executed by user to add a pull-down menu interface to the VMiX
  685. shell. 
  686.  
  687. - SYSGATE.OBJ -
  688. Link object file for VMiX API (Application Programming Interface).
  689.  
  690.  
  691.    SOURCE FILES              DOCUMENTATION FILES
  692.  
  693. SYSGATE.ASM               READ.ME
  694. DSTAT.C                   VMiX.DOC(this file)
  695. DPATH.ASM                 REVISION.LOG(upgrade history)
  696. MONITOR.C                 DPATH.DOC
  697. OUTSIDE.C                 MANUAL.DOC(version 1.4X)
  698. PS.C
  699. VW.C
  700. C_BIOS.H
  701. $_KERNEL.H
  702. $_CONFIG.H
  703. $_MEM.H
  704. $_PROC.H
  705. IO_CHAN.H
  706. IO_IRP.H
  707. IO_OBJ.H
  708.  
  709.  
  710.  
  711.                I N S T R U C T I O N S
  712.                -----------------------
  713.  
  714.       1)   Upon  receipt  of   your   SHIPPING 
  715.            Diskette, copy the six files:
  716.  
  717.            VM_BOOT.EXE,  DPATH.EXE, DSTAT.EXE, 
  718.            MONITOR.EXE, PS.EXE and VW.EXE onto
  719.            your  own  System Diskette  or hard
  720.            disk.
  721.  
  722.       2)   Using your  editor, create  a  file 
  723.            named   CONFIG.SYS.    Include  the 
  724.            following two lines:
  725.  
  726.            BUFFERS = 15              (or more)
  727.            FILES = 20                (or more)
  728.  
  729.            and, save the file to  your  system 
  730.            boot disk.
  731.  
  732.       3)   To  execute  the VMiX  386  program 
  733.            requires   MSDOS  Version  2.25  or 
  734.            above, and 256Kb of memory. A color 
  735.            graphics  card,  VGA is recommended 
  736.            for  the console  display.
  737.  
  738.            If  you have a Monochrome  Adapter, 
  739.            VMiX will sense it.
  740.  
  741.            Release  2.25 does not  operate  in 
  742.            386 protected mode at all times, so 
  743.            it  will  execute properly  in  PCs 
  744.            with 8088 processors.
  745.  
  746.            Start VMiX by typing:
  747.  
  748.            C> VM_BOOT <ENTER>
  749.  
  750.               After VMiX starts,  typing a '?'
  751.               will display  all the  available
  752.               commands.
  753.  
  754.               Try:               debug <ENTER>
  755.               (note the prompt changes to  - )
  756.               then,  try 'set'  or  'exam' and
  757.               VMiX will display how to complete
  758.               the  command.  VMiX  will prompt
  759.               for most command line arguments,
  760.               when not included in the command
  761.               line:
  762.  
  763.               Try:        set video -m <ENTER>
  764.               to see the video modes available,
  765.                           or
  766.                           set term -t  <ENTER>
  767.               to see the terminals supported.
  768.  
  769.  
  770.  
  771.       4)   To  start  VMiX 386 with  pull-down
  772.            menus:
  773.  
  774.            Start VMiX by typing:
  775.  
  776.            C> VM_BOOT VW <ENTER>
  777.  
  778.               When VMiX starts, the top screen   
  779.               line will  display the available
  780.               menus.  Move to the desired menu
  781.               by pressing right  or left arrow
  782.               keys.  Select a menu by pressing
  783.               the down arrow key  or by typing
  784.               the  CAPITALIZED  letter  of the
  785.               menu name.  Select a menu option
  786.               with  the down arrow  and  press
  787.               <ENTER>.
  788.  
  789.               Exit from the vw utility or pull-
  790.               down menu with the <Esc> key.
  791.  
  792.               From a terminal  running VW.EXE, 
  793.               use  <Ctrl><F>  to turn function
  794.               key emulation ON, then backspace
  795.               becomes  left arrow,   <Ctrl><J>
  796.               and  <Ctrl><K>  will act as down
  797.               and up arrow.
  798.  
  799.       5)   The  RS232 cabling for COM1  and/or 
  800.            COM2    should    be    constructed 
  801.            depending  on whether the  host  PC 
  802.            will   be   connected  to  a   dumb 
  803.            terminal or to another PC acting as 
  804.            a terminal.
  805.  
  806.  
  807.              PIN                         PIN
  808.  
  809.       H      1                           1
  810.       O
  811.       S      2 -- - _           _ _ - -- 2
  812.       T               -_ __ - - 
  813.              3 __ _ -         - - - _ __ 3    T
  814.       S                                       E
  815.       e      4                           4    R
  816.       r                                       M
  817.       i    --5                           5    I
  818.       a  -|                                   N
  819.       l |  --6                           6    A
  820.         |                                     L
  821.       P |    7 ------------------------- 7
  822.       o |
  823.       r |  --8                           8
  824.       t  -|
  825.            --20                          20
  826.  
  827.  
  828.          See  Part II,   Using VMiX 386,  for 
  829.       detailed  instructions regarding the use 
  830.       of VMiX 386 commands and options.
  831. ----------------------------------------------------------------------------
  832.  
  833.  
  834.       VMiX COMMAND LOOK-UP - QUICK REFERENCE
  835.  
  836.  
  837. |ROOT   |DEBUG                                    |
  838.  
  839. |LEVEL..|LEVEL..|LEVEL............................|
  840. |   0   |   1   |   2                             |
  841. ---------------------------------------------------
  842. |[debug]                                          |
  843. |       |set                                      |
  844. |               |baud                             |
  845. |                  -c  " sets communications: chan|
  846. |                        baud, parity, word, stop"|
  847. |               |dos                              |
  848. |                  -i  " toggles DOS child process|
  849. |                        file inherit ON/OFF"     |
  850. |                  -n  " sets DOS INT21 function  |
  851. |                        maximum nesting level"   |
  852. |                  -p  " sets DOS current process |
  853. |                        PSP: nuPSP(seg)"         |
  854. |                  -s  " sets DOS virtual size:   |
  855. |                        (4Kb blocks)"            |
  856. |               |font                             |
  857. |                  -t  " sets font type: (0 - 3)" |
  858. |               |pool                             |
  859. |                  -a  " adjusts program memory:  |
  860. |                        MCB(seg), nusize(para)"  |
  861. |                  -m  " sets program partition   |
  862. |                        size: (0 - 1024Kb)"      |
  863. |                  -o  " sets program memory      |
  864. |                        owner: MCB(seg),         |
  865. |                        nuPSP(seg)"              |
  866. |               |process                          |
  867. |                  -b  " sets process shell buffer|
  868. |                        size: (0 - 127)"         |
  869. |                  -e  " toggles system evironment|
  870. |                        protection ON/OFF"       |
  871. |                  -h  " toggles process hardware |
  872. |                        priviledge ON/OFF"       |
  873. |                  -s  " toggles process system   |
  874. |                        priviledge ON/OFF"       |
  875. |               |remote                           |
  876. |                  -c  " sets remote channel"     |
  877. |                  -l  " sets polled terminal     |
  878. |                        login channel"           |
  879. |               |system                           |
  880. |                  -c  " sets duration of task    |
  881. |                        slice: tickcnt - 1"      |
  882. |                  -m  " toggles manager message  |
  883. |                        displays ON/OFF"         |
  884. |                  -s  " toggles scheduler swapped|
  885. |                        processing ON/OFF"       |
  886. |                  -t  " toggles scheduler clock  |
  887. |                        processing ON/OFF"       |
  888. |                  -w  " sets shutdown wait delay:|
  889. |                        seconds"                 |
  890. |               |terminal                         |
  891. |                  -t  " sets terminal type:      |
  892. |                        (0 - 9)"                 |
  893. |               |video                            |
  894. |                  -c  " sets video bg/fg colors" |
  895. |                  -C  " sets window bg/fg colors"|
  896. |                  -m  " sets video mode:(0 - 16)"|
  897. |                  -s  " toggles status line      |
  898. |                        display ON/OFF"          |
  899. |                  -w  " sets root window size:   |
  900. |                        row0, col0, row1, col1"  |
  901. |                  -W  " auto partitions (1 - 4)  |
  902. |                        task windows             |
  903. |                        (Shift-Tab toggles kbd)" |
  904. |       |init                                     |
  905. |               |comm                             |
  906. |                  -c  " sets communications: chan|
  907. |                        baud, parity, word, stop"|
  908. |               |print                            |
  909. |                  -p  " inits parallel port:chan"|
  910. |       |examine                                  |
  911. |               |mcb                              |
  912. |               |status                           |
  913. |       |assign                                   |
  914. |              " : process id, channel"           |
  915. |               |gdt                              |
  916. |       |deassign                                 |
  917. |              " : channel"                       |
  918. |               |gdt                              |
  919. |               |memory                           |
  920. |       |quit                                     |
  921. |rshell                                           |
  922. |remote                                           |
  923. |  -c  " sets remote channel"                     |
  924. |  -l  " sets polled terminal login channel"      |
  925. |swap                                             |
  926. |      " : process id"                            |
  927. |chprio                                           |
  928. |      " : process id, new priority"              |
  929. |[exec]                                           |
  930. |  -a  " adjusts program memory: MCB(seg),        |
  931. |        nusize(para)"                            |
  932. |  -m  " sets program memory partition size:      |
  933. |        (0 - 1024Kb)"                            |
  934. |  -o  " sets program memory owner: MCB(seg),     |
  935. |        nuPSP(seg)"                              |
  936. |       |path          " utility displays/sets    |
  937. |                        program file search path"|
  938. |       |dpath[.exe]   " utility displays/sets    |
  939. |                        data file search path"   |
  940. |          -v  " sets verbose mode (default)"     |
  941. |          -q  " sets quiet mode"                 |
  942. |          -r  " allows data read only"           |
  943. |          -w  " allows data read/write (default)"|
  944. |          -h  " help"                            |
  945. |       |dstat[.exe]   " utility displays all     |
  946. |                        VMiX objects"            |
  947. |          -a  " selects only assigned objects"   |
  948. |          -r  " selects only free objects"       |
  949. |       |monitor[.exe] " utility monitors process/|
  950. |                        system: process id"      |
  951. |          -m  " displays 1 megabyte memory map"  |
  952. |          -p  " displays VMiX memory pool"       |
  953. |          -r  " monitors process registers:      |
  954. |                process id"                      |
  955. |       |ps[.exe]      " utility displays all     |
  956. |                        processes"               |
  957. |       |vw[.exe]      " VMiX pull-down menu      |
  958. |                        utility"                 |
  959. |      " : MSDOS command"                         |
  960. |dosjob                                           |
  961. |      " : MSDOS command or / VMiX command"       |
  962. | [-W] " gives process the full screen: MSDOS     |
  963. |        command or / VMiX command"               |
  964. |spawn                                            |
  965. |  -c  " sets channel for STDIO and executes      |
  966. |        command line"                            |
  967. |kill                                             |
  968. |      " : process id"                            |
  969. |quit                                             |
  970. ---------------------------------------------------
  971.  
  972.    :   indicates command parameters
  973.   [ ]  indicates optional
  974.  
  975.  
  976.     VMiX TERMINAL - IBM FUNCTION KEY EMULATION
  977.  
  978. ---------------------------------------------------
  979. |Press ^F (1 beep) emulation ON                   |
  980. |Press ^F again (2 beeps) emulation OFF           |
  981. |                                                 |
  982. |                                                 |
  983. |        for                      press           |
  984. |                                                 |
  985. |        IBM PC KEY               TERMINAL KEY    |
  986. |                                                 |
  987. |         [F1]                         1          |
  988. |         [F2]                         2          |
  989. |         [F3]                         3          |
  990. |         [F4]                         4          |
  991. |         [F5]                         5          |
  992. |         [F6]                         6          |
  993. |         [F7]                         7          |
  994. |         [F8]                         8          |
  995. |         [F9]                         9          |
  996. |         [F10]                        10         |
  997. |                                                 |
  998. |         <Ctrl>[Break]                ^C         |
  999. |         <Ctrl>[NumLock]              ^S         |
  1000. |         <Ctrl>[F3]                    `         |
  1001. |         [PgUp]                        +         |
  1002. |         [PgDn]                        -         |
  1003. |         [Ins]                        ^I         |
  1004. |         [Del]                        ^D         |
  1005. |         [End]                        ^E         |
  1006. |         [Home]                      [Home]      |
  1007. |         <Alt>                       <Shift>     |
  1008. |                                                 |
  1009. |                                                 |
  1010. |                                                 |
  1011. |   NOTE:  The <Ctrl> key symbol for the terminal |
  1012. |   keyboard has been abbreviated as ^            |
  1013. |                                                 |
  1014. ---------------------------------------------------
  1015.  
  1016.